A C++ Language Workbench
نویسنده
چکیده
Language-orientated programming promises to elevate programmer productivity through increased abstraction capabilities. Structural programming environments provide apparatus to reduce the difficulties with syntax. The language workbench, a conceptual combination of these two approaches, is a comparatively novel approach to software development and has so far been attempted only in dynamic-dispatch, run-time-compiled languages (e.g. Java). However, it must be remembered that several fields of engineering exist, each having theor own priorities. For example within the video games industry, where large, complex and diverse projects are routinely developed but where efficiency is paramount C++, as a development platform, is widely used. I explore the possibility of a language workbench capable of a gradual transition in both skills and code from the traditional C++ development environment. This article is the design for a language workbench. It uses includes novel techniques including a context-sensitive event-driven input system and a hybrid single/multiple-inherited class model and through a prototype implementation demonstrates that is both concise and practical for C++. I refute the hitherto implicit hypothesis that the language workbench paradigm is not applicable to the C++ language, showing that C++ can be used for creating an effective development framework usable in otherwise pure-C++ programming environments.
منابع مشابه
Martta: A C++ Language Workbench
Language-orientated programming promises to elevate programmer productivity through increased abstraction capabilities. Structural programming environments provide apparatus to reduce the difficulties with syntax. The language workbench, a conceptual combination of these two approaches, is a comparatively novel approach to software development and has so far been attempted only in dynamic-dispa...
متن کاملCedalion A Language Oriented Programming Language
Implementations of language oriented programming (LOP) are typically either language workbenches, which facilitate the development of external domain speci c languages (DSLs) with projectional editors, or host languages for internal DSLs that are parsed. In this work, we present Cedalio a novel approach to LOP, along with a prototyped programming language and workbench implementing our approach...
متن کاملAutomatically Generated Case Workbenches: a Preliminary Case Study
In this article we analyse a workbench for the analysis and design of web applications automatically generated from a visual-oriented meta-CASE. This tool suitably exploits UML metamodelling and process modelling to visually specify the target workbench, and employs visual language generation systems for their deployment. The generated workbench consists of a visual environment which includes k...
متن کاملEpiSpin: An Eclipse Plug-In for Promela/Spin Using Spoofax
This paper presents EpiSpin: an Eclipse plug-in for editing Promela models. It provides error markers as you type, various editor services and an interface to perform verification and simulation runs using Spin. An additional tool shows the static relations between channels, processes and global variables. These tools have been built using the Spoofax language workbench.
متن کاملUsing Language Engineering to Lift Languages and Analyses at the Domain Level
Developers who use C model checkers have to overcome three usability challenges: First, it is difficult to express application level properties as C-level verification conditions, due to the abstraction gap. Second, without advanced IDE support, it is difficult to interpret the counterexamples produced by the model checker and understand what went wrong in terms of application level properties....
متن کامل